Block codes for forward error correction have many applications for protecting data integrity in communication and mass storage systems. Block codes protect a data block by adding redundancy, typically by adding redundant parity check bits to the end of the data block. The encoder computes the parity check bits. The decoder uses the parity check bits to determine whether the data block is corrupted, and to potentially correct a corrupted data block.
There is a general need for data protection circuits that have high throughput and low latency in a variety of circuit implementation technologies.